package cn.lingyangwl.agile.infra.module.file.constants;

import cn.lingyangwl.framework.tool.core.exception.BizException;
import lombok.AllArgsConstructor;
import lombok.Getter;

import java.util.Arrays;

/**
 * @author shenguangyang
 */
@Getter
@AllArgsConstructor
public enum MaterialTypeEnum {
    /** 视频 */
    IMAGE("1"),
    /** 图片 */
    VIDEO("2"),
    /** 音频 */
    VOICE("3"),
    ;
    private final String value;

    public static MaterialTypeEnum ofByType(String type) {
        return Arrays.stream(values()).filter(e -> e.name().equalsIgnoreCase(type)).findFirst()
                .orElseThrow(() -> new BizException("不支持的媒体类型 {}", type));
    }

    public static void checkExist(String type) {
        if (Arrays.stream(values()).noneMatch(e -> e.name().equalsIgnoreCase(type))) {
            throw new BizException("不支持的媒体类型 {}", type);
        }
    }
}
